package com.kitty.record.kittyalgorithm.audition;

/**
 //编写代码，移除未排序链表中的重复节点。保留最开始出现的节点。
 //
 // 示例1:
 // 输入：[1, 2, 3, 3, 2, 1]
 // 输出：[1, 2, 3]
 //
 // 示例2:
 // 输入：[1, 1, 1, 1, 2]
 // 输出：[1, 2]
 //
 // 提示：
 // 链表长度在[0, 20000]范围内。
 // 链表元素在[0, 20000]范围内。
 //
 // 进阶：
 // 如果不得使用临时缓冲区，该怎么解决？
 * @Author SHEN
 * @Date 2020/11/26
 */
public class LeetCode0201 {
    public static void main(String[] args) {
        String s1 = "waterbottle";
        String s2 = "erbottlewat";
        //System.out.println(removeDuplicateNodes(s1,s2));
    }

    public  ListNode removeDuplicateNodes(ListNode head) {
        ListNode ob = head;
        while (ob != null) {
            ListNode oc = ob;
            while (oc.next != null) {
                if (oc.next.val == ob.val) {
                    oc.next = oc.next.next;
                } else {
                    oc = oc.next;
                }
            }
            ob = ob.next;
        }
        return head;
    }

    private class ListNode {
      private int val;
      private ListNode next;
      ListNode(int x) { val = x; }
    }
}
